package com.the_ring.chapter15.application;

import android.app.Application;

import com.tencent.smtt.export.external.TbsCoreSettings;
import com.tencent.smtt.sdk.QbSdk;

import java.util.HashMap;

public class MainApplication extends Application {

    private boolean isLoadTBS = false;      // 是否成功加载

    // 初始化 TBS 服务
    public void qbSdkInit() {
        if (isLoadTBS) {
            return;
        }
        QbSdk.setDownloadWithoutWifi(true);     // 非 WiFi 情况下，主动下载 TBS 内核
        // 搜集本地 TBS 内核信息并上传服务器，服务器返回结果决定使用哪个内核
        QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
            @Override
            public void onCoreInitFinished() {

            }

            @Override
            public void onViewInitFinished(boolean b) {
                isLoadTBS = true;       // 内核加载成功
            }
        };
        // TBS 内核初始化
        QbSdk.initX5Environment(getApplicationContext(), cb);
        // 以下设置会将 Dex 文件转为 Oat 的过程加以优化
        HashMap<String, Object> map = new HashMap<>();
        map.put(TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER, true);
        map.put(TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE, true);
        QbSdk.initTbsSettings(map);     // 初始化 TBS 设置
    }
}
